/**
 * 通用主页JS
 */
let soId = '';
/**
 * 抢服务订单
 * @param soBillNumber 订单编号
 * @param btnGrabOrderNumber 抢单按钮后面的序号
 */
function robServiceOrder(soBillNumber, btnGrabOrderNumber){
	let userName = sessionStorage.getItem(SCS_USER_NAME);
	if($('#btnGrabOrder' + btnGrabOrderNumber)[0].innerHTML != '我要抢单') {
		return;
	}
	if (isNull(soBillNumber)) {
		alert('抢单失败，请刷新后再试');
		return;
	}
	soId = soBillNumber;
	sessionStorage.setItem('btnGrabOrder',btnGrabOrderNumber);//按钮ID编号
	sessionStorage.setItem('robingServiceOrderId',soId);
	if (isNull(userName)) {
		showLoginWindow();
	} else {
		robingServiceOrder();
	}
}

/**
 * 显示登录框
 */
function showLoginWindow() {
	//初始化登录验证框
	initVerificationCode();
	let width = $(window).width(), height = $(window).height();
	$('#middleMain').css({'top': ((height - 516) / 2 - 70) + 'px', 'left': (width - 500) / 2 + 'px'});
	$('.page-mask,#middleMain').show();
	drage = false;
	$('#verifyImgDrag').css('left', 0);
	$('#drag').empty().css({'background-color': '#e8e8e8', 'color': ''});
	//注册验证码拖动事件
	$('#drag').drag(null, null, initVerificationCode);
	I('errorPrompt').innerHTML = '';
}
//抢单
function robingServiceOrder() {
	let userName = sessionStorage.getItem(SCS_USER_NAME), soId = sessionStorage.getItem('robingServiceOrderId'),
		btnGrabOrderNumber = sessionStorage.getItem('btnGrabOrder'),scsUserId = sessionStorage.getItem('SCS_USER_ID');
	if (isNull(userName)) {
		alert('您还没有登录，请重新登录');
		return;
	}
	if (isNull(soId)) {
		alert('获取服务订单编号失败');
		return;
	}
	let btnGrabOrder = $('#btnGrabOrder' + btnGrabOrderNumber),loginLoad = $('.index-login,.loading,.page-mask'),
    loadMask = $('.loading,.page-mask');
	//不能抢自己发布的订单
	if (!isNull(scsUserId) && scsUserId == $('#issuerUserId_' + soId).val()) {
		alert('您不能抢自己发布的订单');
        loginLoad.hide();
		setRobBtnStatus(btnGrabOrder, true);
		reloadOrderData();//重新加载一次订单
		return;
	}
	if(!confirm('您确定要抢该单服务吗?')){
        loginLoad.hide();
		setRobBtnStatus(btnGrabOrder, true);
		return;
	}
	$('#middleMain').hide();
    loadMask.show();
	$('#loadingWord').text('正在抢单，请稍候...');
	setRobBtnStatus(btnGrabOrder, false);
	$.ajax({
		type : "POST",
		url : '/serviceOrder/robServiceOrder',
		data : {
			userName : userName,
			billNumber : soId
		},
		dataType : 'json',
		success : function(result) {
			let msg = '', s = result.errorFlag;
			if ("0" == s && result.success) {
				msg = '抢单成功';
			} else if ("3" == s) {
				msg = '订单不存在，请重新选择';
			} else if ("4" == s) {
				msg = '订单已抢，请重新选择';
			} else if ("5" == s) {
				msg = '您不能抢自己发布的订单';
				reloadOrderData();//重新加载一次订单
			} else {
				msg = '抢单失败';
				setRobBtnStatus(btnGrabOrder, true);
			}
			let isRobbed = "0" == s || "3" == s || "4" == s;
			if (isRobbed) {
				$('#serviceInfo' + btnGrabOrderNumber + ',#btnGrabOrder1688').remove();
				//如果setIndexFooterPosition是函数，则执行该函数，
                //如果不加，则在主页只有一个订单的时候，并且把个订单抢了，主页下的页脚位置不会靠页面底部。
				if (typeof(setIndexFooterPosition) != "undefined" && setIndexFooterPosition instanceof Function){
					//重新设置页脚的位置
					setIndexFooterPosition();
				}
			}
            loadMask.hide();
			deleteRobInfo();
			alert(msg);
		},
		error: function () {
            loadMask.hide();
			setRobBtnStatus(btnGrabOrder, true);
			deleteRobInfo();
			showLglTipsBox(300,70,'错误提示','抢单失败',false);
		}
	});
}

/**
 * 删除抢单时设置的相关参数
 */
function deleteRobInfo() {
	sessionStorage.removeItem('btnGrabOrder');
	sessionStorage.removeItem('robingServiceOrderId');
}

/**
 * 设置抢单按钮是否可用，包含index.html,orderDetail.html两个页面
 * @param btnGrabOrder
 * @param isAvailable true：可用，false:不可用
 */
function setRobBtnStatus(btnGrabOrder, isAvailable) {
	let btnOrderDetail = $('#btnGrabOrder1688');
	if (isAvailable) {
		btnGrabOrder.removeClass('btn-disabled').addClass('btn-grab-order').text('我要抢单');
		btnOrderDetail.css({
			'background': 'url(../staticFile/images/index/menu-row-tail.gif) center bottom repeat-x',
			'cursor': 'pointer'
		}).text('我要抢单');
	} else {
		btnGrabOrder.removeClass('btn-grab-order').addClass('btn-disabled').text('抢单中...');
		btnOrderDetail.css({'background': '#efefef', 'cursor': 'text', 'color': ''}).text('抢单中...');
	}
	btnGrabOrder.attr('disabled', !isAvailable);
	btnOrderDetail.attr('disabled', !isAvailable);
}

/**
 * 重新加载订单数据
 */
function reloadOrderData() {
	if(typeof queryIndexServiceOrderData === "function") {
		queryIndexServiceOrderData(1, scsPageSize);
	}
}